'''
字符串相加：
先转成数字，再计算。
'''

def string_to_int(s: str) -> int:
    result = 0
    for char in s:
        # 字符-'0'就是数字
        digit = ord(char) - ord('0')  # 将字符转换为数字
        # 上次结果*10表示到达十位，再加上个位。
        result = result * 10 + digit  # 累加得到整数
    return result

def addStrings(num1: str, num2: str) -> str:
    # 将字符串转换为整数
    int1 = string_to_int(num1)
    int2 = string_to_int(num2)
    
    # 相加并返回结果的字符串形式
    return str(int1 + int2)

def test_addStrings():
    # 测试示例 1
    assert addStrings("11", "123") == "134", "测试示例 1 失败"
    
    # 测试示例 2
    assert addStrings("456", "77") == "533", "测试示例 2 失败"
    
    # 测试示例 3
    assert addStrings("0", "0") == "0", "测试示例 3 失败"
    
    # 测试示例 4: 一个字符串比另一个长
    assert addStrings("123", "4567") == "4690", "测试示例 4 失败"
    
    # 测试示例 5: 有进位的情况
    assert addStrings("999", "1") == "1000", "测试示例 5 失败"
    
    # 测试示例 6: 两个长字符串相加
    assert addStrings("123456789", "987654321") == "1111111110", "测试示例 6 失败"
    
    print("所有测试用例通过！")

# 运行测试
test_addStrings()